#include "surface.h"

class SphereSurface : public Surface {

protected:

    Sphere sphere;

public:

    // -- default constructor
    SphereSurface();

    // -- lifetime 
    SphereSurface(const Color& col, const Sphere& sphere);

    // -- inherited public interface
    virtual float SurfaceIntersection(const Ray& ray);
}; 

// =================================================================================================
// Constructors
// =================================================================================================
inline SphereSurface::SphereSurface() : Surface(), sphere() {
}

inline SphereSurface::SphereSurface(const Color& col, const Sphere& sphere_) : Surface(col), 
                                                                               sphere(sphere_) {
}

